﻿/*
 * @Autor: PK
 * @Date: 2021/5/20 15:28:34
 * @Description: Environment
 */

using System.Collections.Generic;
using ShkSimulation.core.dao.input.resource;
using ShkSimulation.core.template.agency;
using ShkSimulation.core.template.customer;
using ShkSimulation.core.template.model;

namespace ShkSimulation.core.template {
	
    public interface NetworkInputData {
	    
	    IReadOnlyDictionary<string, Resource> AllResources { get; }

	    void UpdateResource(string resourceKey, Resource resource);

	    InputConfig ConfigInstance { get; }

	    IReadOnlyList<CustomerTemplate> CustomerTemplate { get; set; }
	    
	    IReadOnlyDictionary<int, Agency> AllAgencies { get; set; }

	    IReadOnlyDictionary<string, List<Agency>> ClassifiedAgencies { get; set; }

	    NetworkInputData Clone();

    }
}
